<template>
    <div class="icons">
        <swiper :options="swiperOption" ref="mySwiper">
            <swiper-slide v-for="(page,index) in pages" :key="index">
                <div class="icon" v-for="item in page" :key="item.id">
                    <div class="icon-img">
                        <img  :src="item.imgUrl" alt="">
                    </div>
                    <p>{{item.desc}}</p>
                </div>
            </swiper-slide>
        </swiper>
    </div>
</template>

<script>
    export default {
        name:'HomeIcons',
        props:{
            list:Array
        },
        data(){
            return{
                swiperOption: {
                    loop: false,
                    clickable: true,
                }
            }
        },
        computed:{
            pages(){
                const pages=[];
                this.list.forEach(function(item,index){
                    const page=Math.floor(index/8)
                    if(!pages[page]){
                        pages[page]=[]
                    }
                    pages[page].push(item)
                })
                return pages;
            }
        }
    }
</script>

<style scoped lang="scss">
    @import '~styles/varibles.scss';
    @import '~styles/mixins.scss';
    .icons .swiper-container{
        height:0;
        padding-bottom:50%;
    }
    .icons{
        margin-top:0.1rem;
        height:0;
        overflow:hidden;
        padding-bottom:50%;
        .icon{
            position:relative;
            overflow:hidden;
            float:left;
            width:25%;
            height:0;
            padding-bottom:25%;
            .icon-img{
                position:absolute;
                top:0;
                left:0;
                right:0;
                bottom:0.44rem;
                img{
                    display:block;
                    margin:0 auto;
                    height:100%;
                    padding:0.1rem;
                    box-sizing:border-box;
                }
            }
            p{
                position:absolute;
                left:0;
                right:0;
                bottom:0;
                line-height:0.44rem;
                color:$fontColor;
                text-align:center;
                @include ellipsis();
            }
        }
    }
</style>